package com.example.rocket.config;


import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

@Data
@ConfigurationProperties("rmq")
public class NbMqProperties {

    /**
     * 类型:  rocket/ons
     */
    private String type;

    /**
     * nameServer:
     */
    private String nameServer;

    /**
     *
     */
    private String accessKey;

    /**
     *
     */
    private String secretKey;

    /**
     *
     */
    private NbProducerProperties producer;


    //@Data
    //public static class Producer {

    //    /**
    //     * 生产者组
    //     */
    //    private String group;

    //    /**
    //     * 发送消息超时的毫秒数
    //     */
    //    private int sendMessageTimeout = 3000;

    //    /**
    //     * 压缩消息体阈值，即默认压缩大于 4k 的消息体。
    //     */
    //    private int compressMessageBodyThreshold = 1024 * 4;

    //    /**
    //     * 在同步模式下声明发送失败之前在内部执行的最大重试次数。
    //     * 这可能会导致消息重复，这取决于应用程序开发人员来解决。
    //     */
    //    private int retryTimesWhenSendFailed = 2;

    //    /**
    //     * 在异步模式下声明发送失败之前在内部执行的最大重试次数。
    //     * 这可能会导致消息重复，这取决于应用程序开发人员来解决。
    //     */
    //    private int retryTimesWhenSendAsyncFailed = 2;

    //    /**
    //     * 指示是否在内部发送失败时重试另一个代理。
    //     */
    //    private boolean retryNextServer = false;

    //    /**
    //     * 允许的最大消息大小（以字节为单位）。
    //     */
    //    private int maxMessageSize = 1024 * 1024 * 4;

    //    /**
    //     * “访问密钥”的属性。
    //     */
    //    private String accessKey;

    //    /**
    //     * “秘钥”的属性。
    //     */
    //    private String secretKey;

    //    /**
    //     * 用于消息跟踪的开关标志实例。
    //     */
    //    private boolean enableMsgTrace = true;


    //}



}
